package com.kotlin.demo.ui.state

import com.kotlin.demo.bean.ResBean

/**
 * 翻译结果模型
 */
data class TranslateState(
    var translateResult: String = "",//翻译结果
    var translateResList: MutableList<ResBean> = mutableListOf(),//翻译路径
    var sideEffectState: SideEffectState = SideEffectState.ShowToast(""),//副作用返回
)

/**
 * 翻译意图
 */
sealed class TranslateIntent {
    object TranslateMultilingual : TranslateIntent()//翻译多语言意图

    //获取多语言翻译路径 isShowResList 显示res 路径显示列表|isShowTips 显示错误提示窗口
    data class TranslateResList(val isShowTips: Boolean, val isShowResList: Boolean) : TranslateIntent()
    object TranslateDelResList : TranslateIntent()//删除多语言翻译路径
    data class TranslateWrite(val translateResult: String) : TranslateIntent()//写入多语言意图
}

//副作用 处理意图的附带作用
sealed class SideEffectState {
    data class ShowToast(var message: String) : SideEffectState()
}